postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (SoThink fix). See browser.js for details.');
}else if( indexOf.call(name, 'transmenu')>-1 ){
fixTransmenus();
postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Transmenu fix). See browser.js for details.');
}else if( indexOf.call(name, 'xaramenu')>-1 ){
addPreprocessHandler( new RegExp('if\\(navigator.userAgent.indexOf\\(\'Opera\'\\)!=-1\\)\\s*NS4=1;', ''), 'if(navigator.userAgent.indexOf(\'Opera\')!=-1){IE5=1;NS6=0;}');
postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Xaramenu fix). See browser.js for details.');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( sniffing on saab.com and saab.de excludes Opera). See browser.js for details');
} else if((hostname=='www.opera.com' || hostname=='jp.opera.com') && pathname.indexOf('/docs/browserjs/')==0){ // 0, Browser.js status and version reported on browser.js documentation page
document.getElementById('browserjs_status_message').firstChild.data='Browser.js is enabled! '+bjsversion;
}
}, false);
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Browser.js status and version reported on browser.js documentation page). See browser.js for details');
} else if(hostname.indexOf( 'music.download.com' )>-1){ // 178744, Fixing audio samples, old overlibwms library only detects Opera7
navigator.userAgent += ' Opera 7';
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Fixing audio samples, old overlibwms library only detects Opera7). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Fileplanet.com sniffing blocks Opera). See browser.js for details');
} else if(hostname.indexOf( 'nmviewogc.cr.usgs.gov' )!=-1){ // 233838, National Map Viewer on USGS relies on Netscape detection for functionality
navigator.appName='Netscape';
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (National Map Viewer on USGS relies on Netscape detection for functionality). See browser.js for details');
} else if(hostname.indexOf("rec.feeds.yahoo.")==0){ // 194334, Make "add feeds" dialog work in Y!Mail beta
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Make "add feeds" dialog work in Y!Mail beta). See browser.js for details');
} else if(hostname.indexOf('.anz.com')!=-1){ // 343019, ANZ online bank form action URLs are incorrectly decoded
workAroundBug343019();
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (ANZ online bank form action URLs are incorrectly decoded). See browser.js for details');
} else if(hostname.indexOf('.dell.')!=-1&&hostname.indexOf('support.')!=-1){ // 286618, browser sniffing on support.dell.com
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( browser sniffing on support.dell.com). See browser.js for details');
try{ var s=el.contentWindow.document.body; }catch(e){
el.src='about:blank';
}
}
}
}, false );
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (eBay: IFRAME expands forever\neBay: speed up back+forward navigation\neBay tries to communicate with...). See browser.js for details');
} else if(hostname.indexOf('.ibm.com')>-1){ // 206984, IBM driver download has HTML comments inside SCRIPT tag, breaks parsing
removeClosingHTMLComments();
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (IBM driver download has HTML comments inside SCRIPT tag, breaks parsing). See browser.js for details');
} else if(hostname.indexOf('.icicibank.')!=-1){ // 343019, ICICI online bank form action URLs are incorrectly decoded
workAroundBug343019();
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (ICICI online bank form action URLs are incorrectly decoded). See browser.js for details');
} else if(hostname.indexOf('.mail.yahoo.')>-1&&(href.indexOf( '/dc/system_requirements?browser=blocked' )>-1||href.indexOf( '/dc/system_requirements?browser=unsupported' )>-1)){ // 194334, Y!Mail work around browser blocking
location.href='/dc/launch?sysreq=ignore';
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Y!Mail work around browser blocking). See browser.js for details');
} else if(hostname.indexOf('.mail.yahoo.')>=0 && pathname.indexOf('/dc/')==0){ // 290495, can't get past "new features" screen due to redirect
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (can\'t get past "new features" screen due to redirect\nY!Mail button attribute "action" is a URL in W...). See browser.js for details');
} else if(hostname.indexOf('.t-online.de')>-1){ // 225374, video problems on T-online.de
// 226414, video problems on T-online.de, no window.external detection
window.external=window.external||{};
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( video problems on T-online.de\n video problems on T-online.de, VOD section\n video problems on T-on...). See browser.js for details');
} else if(hostname.indexOf('.ulead.') >-1){ // 142757, Ulead.com old Milonic menu
fixMilonicMenu('mmenu.js');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Ulead.com old Milonic menu). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Yahoo ISP portal blocks Opera users). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( able.co.jp uses capturing event listeners). See browser.js for details');
} else if(hostname.indexOf('allabout.co.jp')!=-1){ // DSK-227082, Works around script scheduling bug on AllAbout
fixJQueryScriptSchedulingTrouble();
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Works around script scheduling bug on AllAbout). See browser.js for details');
} else if(hostname.indexOf('ameba.jp')!=-1){ // 331093, Enable blog post editor on ameba.jp
navigator.product='Gecko';
navigator.userAgent=navigator.userAgent.replace('Opera', '0pera (spoofing as Firefox)');
// 331093, Work around Opera bug where second BR tag overwrites newly inserted IMG
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Enable blog post editor on ameba.jp\nWork around Opera bug where second BR tag overwrites newly inse...). See browser.js for details');
} else if(hostname.indexOf('aol.com') >-1){ // 179219, AOL miscalculated widths cause overlaps at top
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (AOL miscalculated widths cause overlaps at top\nAOL browser sniffing blocks opera \nAOL: when IFRAM...). See browser.js for details');
} else if(hostname.indexOf('apple.viamichelin.com')>-1){ // 288490, Text on Apple store locator page is misaligned and overlapping
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Text on Apple store locator page is misaligned and overlapping). See browser.js for details');
} else if(hostname.indexOf('att.com')!=-1){ // 206467, ATT / Bellsouth browser sniffing
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (ATT / Bellsouth browser sniffing). See browser.js for details');
} else if(hostname.indexOf('barnesandnoble.com')>-1){ // 195961, Barnes&Noble uses "required" attributes on elements that aren't required
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Barnes&Noble uses "required" attributes on elements that aren\'t required). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Avoid manipulating broken Discuz! markup on bbs.dzart.net). See browser.js for details');
} else if(hostname.indexOf('bbs.hxsd.com')!= -1){ // 361510, Broken CSS makes fonts too small on bbs.hxsd.com
addCssToDocument('body{font-size:75%}');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Broken CSS makes fonts too small on bbs.hxsd.com). See browser.js for details');
} else if(hostname.indexOf('bbs.kafan.cn')!= -1){ // 361525, Setting innerHTML to badly nested markup breaks forum layout on bbs.kafan.cn
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Setting innerHTML to badly nested markup breaks forum layout on bbs.kafan.cn). See browser.js for details');
} else if(hostname.indexOf('betfair.com')>-1){ // 309459, Betfair relies on firstChild defined on attribute nodes
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Betfair relies on firstChild defined on attribute nodes). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (bioware.com uses outdated HierMenus). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Blogger: browser detection prevents WYSIWYG editing\nBlogger: Should distinguish AltGr and Ctrl). See browser.js for details');
} else if(hostname.indexOf('bloglines.com')>-1){ // 248295, Bloglines, designMode case sensitivity issue
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Bloglines, designMode case sensitivity issue). See browser.js for details');
} else if(hostname.indexOf('bookryanair.com')>-1){ // 319803, Make Opera's built-in WF2 validation ignore required attributes on bookryanair.com
ignoreRequiredAttributes();
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Make Opera\'s built-in WF2 validation ignore required attributes on bookryanair.com). See browser.js for details');
} else if(hostname.indexOf('britannica.com')>-1){ // 332948, Prevent overwriting document with stats graphic on britannica.com
avoidDocumentWriteAbuse();
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Prevent overwriting document with stats graphic on britannica.com). See browser.js for details');
} else if(hostname.indexOf('britishairways.')!=-1){ // 206810, Prevent britishairways.com from reloading the page on resize
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Prevent britishairways.com from reloading the page on resize). See browser.js for details');
} else if(hostname.indexOf('cajamadrid.es')!=-1){ // 346825, Caja Madrid hides login form by CSS mistake
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Caja Madrid hides login form by CSS mistake). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (CapitalOne login fails - cross-domain access on https disallows setting location). See browser.js for details');
} else if(hostname.indexOf('cdec-sic.cl')!=-1){ // 365516, Old HierMenus on cdec-sic.cl
fixHierMenus();
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Old HierMenus on cdec-sic.cl). See browser.js for details');
} else if(hostname.indexOf('chase.com')!=-1){ // 243036, chase.com field refocus from onkeypress-problem
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (chase.com field refocus from onkeypress-problem). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Morningplus.chosun.com misplaced content\nchosun.com scrollarea fix). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Continental.com document.activeElement fix enables airport choice popup). See browser.js for details');
} else if(hostname.indexOf('deviantart.com')>-1){ // 282065, deviantart.com prevents mousedown on file inputs, making it impossible to select files
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( deviantart.com prevents mousedown on file inputs, making it impossible to select files). See browser.js for details');
} else if(hostname.indexOf('fedex.com')!=-1){ // 363564, FedEx.com mangles tables by turning TDs into block elements
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (FedEx.com mangles tables by turning TDs into block elements). See browser.js for details');
} else if(hostname.indexOf('fotocenter.aol.de')>-1){ // 202045, AOL: browser warnings for various features of aol.de
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (AOL: browser warnings for various features of aol.de). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Live.com properties overwrite page from click tracking script). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( BlueCross browser sniffing prevents insurance search). See browser.js for details');
} else if(hostname.indexOf('groups.google.') > -1 && pathname.indexOf('/browse_frm/thread/') > -1){ // CORE-10896, Opera's interpretation of 100% height isn't high enough for Google Groups
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Opera\'s interpretation of 100% height isn\'t high enough for Google Groups). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (browser sniffing breaks ibank.isb.ru). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (jQuery script scheduling trouble on Icelandair). See browser.js for details');
} else if(hostname.indexOf('iieye.com')!= -1){ // 361535, IE detection prevents other browsers from accessing iieye.com
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (IE detection prevents other browsers from accessing iieye.com). See browser.js for details');
} else if(hostname.indexOf('ingdirect.com.au')>-1){ // 352969, Make Opera's built-in WF2 validation ignore required attributes on ingdirect.com.au
ignoreRequiredAttributes();
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Make Opera\'s built-in WF2 validation ignore required attributes on ingdirect.com.au). See browser.js for details');
} else if(hostname.indexOf('isbank.com.tr')>-1){ // 265077, fixing navigation menu on isbank.com.tr
// 265077, fixing keypress handler on isbank.com.tr
var ignoreKeypressCodes = {8:'',9:'',16:'',17:'',35:'',36:'',37:'',38:'',39:'', 40:'',45:'',46:''};
opera.addEventListener('BeforeEventListener.keypress', function( e ){ preventDefault.call=call; if( e.event.keyCode in ignoreKeypressCodes) preventDefault.call(e); }, false)
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( fixing navigation menu on isbank.com.tr\nfixing keypress handler on isbank.com.tr). See browser.js for details');
addPreprocessHandler( /if \(e\) if \(e\.originalTarget\./g, 'if (e && e.originalTarget) if (e.originalTarget.' );
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (KLM uses Gecko-specific originalTarget). See browser.js for details');
} else if(hostname.indexOf('kr.msn.com')!=-1){ // 349584, head layout broken on kr.msn.com
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (head layout broken on kr.msn.com). See browser.js for details');
} else if(hostname.indexOf('lgmobile.com')!=-1 ){ // 331748, LG Mobile Flash does not load as expected because of missing type attribute
element.parentNode.replaceChild( element.cloneNode(true), element );
}
}
}, false)
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( LG Mobile Flash does not load as expected because of missing type attribute). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Fixed add files issue in mail.163.com). See browser.js for details');
} else if(hostname.indexOf('mail.google.')>-1){ // 244011, GMail deletes messages on End key presses
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (GMail deletes messages on End key presses\nGMail sends broken styling if ISP name is found in UA str...). See browser.js for details');
} else if(hostname.indexOf('mail.live.com')!=-1){ // CORE-17444, Fix drag and drop in Hotmail
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Fix drag and drop in Hotmail\ndefine document.selection.empty in Hotmail (part of drag-and-drop fix)...). See browser.js for details');
} else if(hostname.indexOf('maps.google.')>-1){ // CORE-17333, The constructor property of DOM nodes should not be Object
Element.prototype.constructor=Element;
// CORE-633, Enable alt-click to show context menu in map
fakeOncontextmenu(false, true);
// CORE-17460, Constructor property of event should be Event interface
Event.prototype.constructor=Event;
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (The constructor property of DOM nodes should not be Object\nEnable alt-click to show context menu in...). See browser.js for details');
} else if(hostname.indexOf('maps.live.com')!=-1){ // 165310, Fake oncontextmenu support
fakeOncontextmenu(true,false);
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Fake oncontextmenu support). See browser.js for details');
} else if(hostname.indexOf('marktplaats.nl')!=-1){ // PATCH-3, Can't add article to favourites because setting link.search has no effect
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Can\'t add article to favourites because setting link.search has no effect). See browser.js for details');
} else if(hostname.indexOf('maybank2u.com.my')>-1){ // 249799, maybank2u, onresize event causes a refresh whenever the softkeyboard is opened
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (maybank2u, onresize event causes a refresh whenever the softkeyboard is opened). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Semicolon insertion fails after do..while() conditional). See browser.js for details');
} else if(hostname.indexOf('moneta.co.kr')!=-1){ // 219041, moneta.co.kr relies on IE quirks for CSS positioning
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( moneta.co.kr relies on IE quirks for CSS positioning). See browser.js for details');
} else if(hostname.indexOf('monster.')!=-1){ // 315865, Monster category tree broken by their selectNodes function overwriting .text on nodes
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Monster category tree broken by their selectNodes function overwriting .text on nodes). See browser.js for details');
} else if(hostname.indexOf('msdn.microsoft.com')!=-1){ // DSK-224171, MSDN menus are invisible, should appear
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (MSDN menus are invisible, should appear). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (MSNBC sniffing hides Flash content). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (mu-mo.net uses SCRIPT for..event.. syntax). See browser.js for details');
} else if(hostname.indexOf('n-gage.com') >-1 && navigator.userAgent.indexOf('Mac')>-1){ // 181451, N-Gage plugin sniffing does not give Flash to Mac Opera
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (N-Gage plugin sniffing does not give Flash to Mac Opera). See browser.js for details');
} else if(hostname.indexOf('namooya.com')>-1){ // 241286, Namooya.com main flash does not appear
document.attachEvent=undefined;
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Namooya.com main flash does not appear). See browser.js for details');
} else if(hostname.indexOf('news.bbc.co.uk')!=-1){ // 356736, Disabling Opera detection that prevents the BBC Olympic Map from appearing
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Disabling Opera detection that prevents the BBC Olympic Map from appearing). See browser.js for details');
} else if(hostname.indexOf('news.msn.co.kr') >-1){ // 342895, news.msn.co.kr navigation bar is offset from the page
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (news.msn.co.kr navigation bar is offset from the page). See browser.js for details');
} else if(hostname.indexOf('nrg.co.il')>-1){ // 244416, NRG.co.il saving articles does not work
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( NRG.co.il saving articles does not work). See browser.js for details');
} else if(hostname.indexOf('picasaweb.google')!=-1){ // 304172, Picasaweb browser sniffing removes functionality Opera has no problems with, for example slideshow
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Picasaweb browser sniffing removes functionality Opera has no problems with, for example slideshow). See browser.js for details');
} else if(hostname.indexOf('pogo.com')>-1){ // 305697, Java detection fails on pogo.com
if(navigator.javaEnabled()){
var javaVersion = java.lang.System.getProperty('java.version');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( Java detection fails on pogo.com). See browser.js for details');
} else if(hostname.indexOf('rabobank.nl')!=-1){ // 277063, Rabobank cancels t keypress
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Solve Dojo script scheduling trouble on redfin.com). See browser.js for details');
} else if(hostname.indexOf('reviews.cnet.com') >-1){ // 179484, CNet videos: document.write adds a script that depends on variables defined later
opera.addEventListener('BeforeScript',
function(ev){
indexOf.call=replace.call=call;
var js=ev.element.text, problemstr='document.write(\'<script type="text/javascript" src="\'+skin+\'"></script>\');';
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (CNet videos: document.write adds a script that depends on variables defined later). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Avoid manipulating broken Discuz! markup on sfile.ydy.com). See browser.js for details');
} else if(hostname.indexOf('show.co.kr')!=-1){ // 348818, Pre-filled text as INPUT background not cleared on focus
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Pre-filled text as INPUT background not cleared on focus). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Array splice throws on 0-length arrays, breaks Shutterfly.com). See browser.js for details');
} else if(hostname.indexOf('siren24.com')!=-1){ // SEOUL-609, ActiveX installation page redirect on siren24.com due to sniffing limitation on redirect script
navigator.appName = 'Netscape';
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (ActiveX installation page redirect on siren24.com due to sniffing limitation on redirect script). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Overriding spaces.live.com browser sniffing\nMake Range.prototype.insertNode automatically import no...). See browser.js for details');
} else if(hostname.indexOf('spreadsheets')==0&&hostname.indexOf('.google.')>-1){ // 215770, Faking support for event object properties layerX and layerY
opera.addEventListener( 'BeforeEventListener', function( e ){
if(e.event.offsetX){
e.event.layerX=e.event.offsetX;
e.event.layerY=e.event.offsetY;
}
}, false );
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Faking support for event object properties layerX and layerY). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Sytadin.fr IFRAME resize script detects Opera). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (tdwaterhouse.ca login fails - cross-domain access on https disallows setting location). See browser.js for details');
window.focus = function () {event.preventDefault();};
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Teletext focus fix). See browser.js for details');
} else if(hostname.indexOf('tickets.com')!=-1){ // MGTRN-2289, Scripts are not allowed to use reserved identifier "top"
addPreprocessHandler( /top\(\)/g, '_top()' );
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Scripts are not allowed to use reserved identifier "top"). See browser.js for details');
} else if(hostname.indexOf('tiscali.it')!=-1){ // 344935, Allows some frame nesting on web.tiscali.it
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Allows some frame nesting on web.tiscali.it). See browser.js for details');
} else if(hostname.indexOf('tistory.com')!=-1){ // 347990, two login buttons on tistory.com
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (two login buttons on tistory.com). See browser.js for details');
} else if(hostname.indexOf('tuenti.com')!=-1){ // DSK-243723, Problems submitting messages and comments on tuenti.com
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Problems submitting messages and comments on tuenti.com). See browser.js for details');
} else if(hostname.indexOf('unicaja.es')!=-1){ // DSK-221158, unicaja.es cannot use reserved frame reference words as variables
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (unicaja.es cannot use reserved frame reference words as variables). See browser.js for details');
} else if(hostname.indexOf('united.com')>-1 || hostname.indexOf('flyted.com')>-1 || hostname.indexOf('itn.net')>-1){ // 193907, United.com flight search problem: hidden images do not load, so no onload event
document.addEventListener('load', function(){
var i,img;
var isHidden = function(el){
if(!el){ return false;}
var elmIsHidden=((el.style && el.style.display=='none') || window.getComputedStyle(el).display=='none');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( United.com flight search problem: hidden images do not load, so no onload event). See browser.js for details');
} else if(hostname.indexOf('us.etrade.com')!=-1 ){ // OTW-3340, Working around E*Trade site's security policy violation
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Working around E*Trade site\'s security policy violation). See browser.js for details');
} else if(hostname.indexOf('usairways.com')>-1){ // 0, USAirways is not compatible with WF2 spec required attribute
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( USAirways is not compatible with WF2 spec required attribute). See browser.js for details');
} else if(hostname.indexOf('video.nbc.com')>-1||href.indexOf('nbc.com/Video')>-1){ // 243428, NBC.com video problems
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( Walla.co.il odd CSS styling causes display problems. Bugs 184398, 184399, 206793\nNew mail UI on Wa...). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Walmart hides "find in store" popup unintentionally). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' ( Westjet browser sniffing causes reload loop). See browser.js for details');
} else if(hostname.indexOf('worldofwarcraft.com')>-1){ // 237552, Mouseover popups do not appear due to document.all sniffing
document.all=null;
fakeOncontextmenu(true, 500);
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Mouseover popups do not appear due to document.all sniffing). See browser.js for details');
} else if(hostname.indexOf('www.etrade.wallst.com')!=-1){ // OTW-3340, Working around E*Trade site's security policy violation (second part)
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Working around E*Trade site\'s security policy violation (second part)). See browser.js for details');
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (YNet article comments display fix). See browser.js for details');
} else if(hostname.indexOf('zdnet.com.com')>-1 ){ // 146580, ZDnet video site plays non-existing files if browser is Opera
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (ZDnet video site plays non-existing files if browser is Opera). See browser.js for details');
} else if(pathname.indexOf("Maconomy/MaconomyPortal") > -1){ // PATCH-6, Fix unload form submit behavior on Maconomy portals
if(self==top)postError.call(opera, 'Opera has modified the JavaScript on '+hostname+' (Fix unload form submit behavior on Maconomy portals). See browser.js for details');